home *** CD-ROM | disk | FTP | other *** search
/ Clickx 115 / Clickx 115.iso / software / tools / windows / tails-i386-0.16.iso / live / filesystem.squashfs / usr / share / doc / tcpflow / README < prev   
Encoding:
Text File  |  2003-08-07  |  3.8 KB  |  100 lines

  1. === TCPFLOW
  2.  
  3. by Jeremy Elson <jelson@circlemud.org>
  4.  
  5. For the latest information on tcpflow, please see:
  6. http://www.circlemud.org/~jelson/software/tcpflow/
  7.  
  8. Or, subscribe to the tcpflow mailing lists; see
  9. http://sourceforge.net/mail/?group_id=8327
  10.  
  11.  
  12. == What is tcpflow?
  13.  
  14. tcpflow is a program that captures data transmitted as part of TCP
  15. connections (flows), and stores the data in a way that is convenient
  16. for protocol analysis or debugging.  A program like 'tcpdump' shows a
  17. summary of packets seen on the wire, but usually doesn't store the
  18. data that's actually being transmitted.  In contrast, tcpflow
  19. reconstructs the actual data streams and stores each flow in a
  20. separate file for later analysis.
  21.  
  22. tcpflow understands sequence numbers and will correctly reconstruct
  23. data streams regardless of retransmissions or out-of-order delivery.
  24. However, it currently does not understand IP fragments; flows
  25. containing IP fragments will not be recorded properly.
  26.  
  27. tcpflow is based on the LBL Packet Capture Library (available at
  28. ftp://ftp.ee.lbl.gov/libpcap.tar.Z) and therefore supports the same
  29. rich filtering expressions that programs like 'tcpdump' support.
  30. It should compile under most popular versions of UNIX; see the INSTALL
  31. file for details.
  32.  
  33.  
  34. tcpflow stores all captured data in files that have names of the form
  35.  
  36.             128.129.130.131.02345-010.011.012.013.45103
  37.  
  38. where the contents of the above file would be data transmitted from
  39. host 128.129.131.131 port 2345, to host 10.11.12.13 port 45103.
  40.  
  41.  
  42.  
  43. == What use is it?
  44.  
  45. I originally wrote this program to capture the data being sent by
  46. various programs that use undocumented network protocols in an attempt
  47. to reverse engineer those protocols.  RealPlayer (and most other
  48. streaming media players), ICQ, and AOL IM are good examples of this
  49. type of application.
  50.  
  51. In tinkering with it, I later also found tcpflow to be useful for
  52. checking to see what cookies my browser was sending to various sites,
  53. looking at the MIME headers of HTTP requests people are sending to my
  54. web server, and verifying that various connections to my machine that
  55. were supposed to be encrypted actually *were* encrypted.
  56.  
  57.  
  58. == Security Implications
  59.  
  60. Although I wrote tcpflow to help the Forces of Good, in the wrong
  61. hands it can certainly be used for the Forces of Evil.  In the wrong
  62. hands this program can be used to do things like read incoming and
  63. outgoing mail, and sniff passwords.  I have chosen to release it
  64. anyway, because crackers already have tools specifically optimized for
  65. doing "evil" network sniffing easily, and this program will most
  66. likely not make their lives any easier.
  67.  
  68. Theoretically, the Good Guys might be able to use programs like this
  69. to monitor their networks for evidence of attacks.  Such Good Guys are
  70. directed to software such as Vern Paxson's Bro
  71. <ftp://ftp.ee.lbl.gov/papers/bro-usenix98-revised.ps.Z>, which is
  72. specifically designed to do network-based intrusion detection.  Also,
  73. you should be aware that there are certain problems that make network
  74. intrusion detectors inherently unreliable in the face of a
  75. sufficiently advanced attacker; for more information, see
  76. http://www.secnet.com/papers/ids-html/  or
  77. http://www.circlemud.org/~jelson/writings/security/ .
  78.  
  79.  
  80. == Bugs
  81.  
  82. Please send bug reports to jelson@circlemud.org.
  83.  
  84. tcpflow currently does not understand IP fragments.  Flows containing
  85. IP fragments will not be recorded correctly.
  86.  
  87. tcpflow never frees state associated with flows that it records, so
  88. will grow large if used to capture a very large number of flows (e.g.,
  89. on the order of 100,000 flows or more).
  90.  
  91. There appears to be a bug in the way that Linux delivers packets to
  92. libpcap when using the loopback interface ("localhost").  When
  93. listening to the Linux loopback interface, selective packet filtering
  94. is not possible; all TCP flows on the localhost interface will be
  95. recorded.
  96.  
  97.  
  98. Jeremy Elson
  99. jelson@circlemud.org
  100.